Such a marker is used in the field of AR (Augmented Reality), the measurement field of a local portion, and the robotics field in order to allow a camera to recognize the position or posture of an object. Generally, a flat plate-type marker including a plane pattern that can be adhered to an object as a target has been widely used.
For example, in order to realize the practical use of service robots in the future, a marker is an indispensable element to structure a system to support a secure autonomous operation by a service robot. A typical marker includes a black square frame as well as a two-dimensional pattern and a code printed therein. The marker is recognized by a camera so that the relative position and posture to the marker can be recognized and the position and posture of the object attached with the marker can be recognized. Information recorded in the marker also can be read by the camera.
FIG. 1 illustrates examples of generally-used ARToolKit marker, ARTag marker, CyberCode marker, and ARToolKitPlus marker. In addition to such markers, a marker that can record a greater amount of information such as a QR Code also can be used.
For example, in the AR field, a CG (Computer Graphics) model is displayed while being superposed on a real world image so that the position of the model is adjusted with the position of the AR marker attached to the object in the real world image.
In the robotics field, a marker attached to an object for example has been measured by a robot to thereby allow the robot to recognize the position and posture of the object attached with the marker so that the object can be operated.
FIG. 2 illustrates an example of a robot task using a marker in the robotics field. In order to provide livelihood support for a person sitting on a wheelchair, a camera attached to a robot hand of a robot arm tip end, wherein the robot arm is attached to the wheelchair, is allowed to recognize a refrigerator knob attached with a marker to thereby allow the robot hand to automatically open and close the refrigerator door. In the task shown in FIG. 2, after the marker is recognized by the camera, the robot can autonomously generate a predetermined robot arm orbit based on the marker position and the posture thereto as a reference to thereby open the refrigerator door.
The measurement of the marker by the camera has been carried out in the manner as described below for example. First, when the camera is a flat plate-type marker including a square outer frame for example, an outer frame is extracted by subjecting read image data to an image processing and four corners are detected. Then, based on a geometric calculation using the positional relation between the positions of four corners (the respective vertexes of the square) in this marker known in advance and four corners in an image read by the camera, the position and posture of the camera relative to the marker can be analyzed to recognize the position and posture of the object attached with the marker.
However, at a position in the vicinity of where the marker faces the camera, the marker undesirably has an increased measurement error. Furthermore, even when the camera can reduce the dispersion of marker measurement values by using a filter (e.g., an average filter, a Kalman filter, or a particle filter) or a measurement history, it has been difficult to securely determine whether or not the marker measurement values are a true value.
In order to prevent the deterioration of the measurement accuracy of the position or posture of the camera using such a flat plate-type marker, Patent Publication 1 discloses that a pattern constituting a marker has thereon a lens whose grayscale pattern is changed depending on the observation direction and the grayscale pattern is changed to thereby accurately measure the position or posture of the camera relative to the marker to accurately recognize the position or posture of the object attached with the marker.